#include "objectentitesarray.h"

ObjectEntitiesArray::ObjectEntitiesArray(QObject *parent):QObject(parent)
{}

ObjectEntitiesArray::ObjectEntitiesArray(const ObjectEntitiesArray & u)
{
	for(int i=0;i<u._objectEntitiesVector.size();++i)
	{
		_objectEntitiesVector.push_back(new ObjectEntities(*u._objectEntitiesVector.at(i)));
	}
}

ObjectEntitiesArray::~ObjectEntitiesArray()
{
	clear();
}

void ObjectEntitiesArray::addObjectEntities(ObjectEntities* object)
{
	ObjectEntities* newobject = new ObjectEntities(*object);
	newobject->setObjectId(object->getObjectId());
	_objectEntitiesVector.push_back(newobject);
}

void ObjectEntitiesArray::removeObjectEntities(const QString& id)
{
	for(int i=0;i<_objectEntitiesVector.size();++i)
	{
		if(_objectEntitiesVector.at(i)->getObjectId() == id)
		{
			delete _objectEntitiesVector.at(i);
			_objectEntitiesVector[i] = NULL;
			_objectEntitiesVector.remove(i);
			break;
		}
	}
}

void ObjectEntitiesArray::clear()
{
	for(int i=0;i<_objectEntitiesVector.size();++i)
	{
		delete _objectEntitiesVector.at(i);
		_objectEntitiesVector[i] = NULL;
	}
	_objectEntitiesVector.clear();
}

int ObjectEntitiesArray::size()
{
	return _objectEntitiesVector.size();
}